home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Arsenal Files 8
/
The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO
/
pcboard
/
vrs501.zip
/
VRS.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1996-10-08
|
23KB
|
805 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
Integer TINTEGER014(99)
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
String STRING017
String STRING018
String TSTRING019(12)
String STRING020
String STRING021
String STRING022
String STRING023
String STRING024
String STRING025
String STRING026
String STRING027
String STRING028
String STRING029
String TSTRING030(3)
String STRING031
String STRING032
String STRING033
String STRING034
;------------------------------------------------------------------------------
Goto LABEL001
End
If (0 == 0) STRING001 = "NO"
If (0 == 1) STRING001 = "YES"
EndFunc
:LABEL001
STRING025 = String(PcbNode())
If (PcbNode() == 0) STRING025 = "A"
STRING026 = String(Random(1000)) + "X" + STRING025
STRING014 = "@X01≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡@X0F"
STRING006 = "@X0C√@X07"
STRING005 = "@X0A√@X07"
STRING021 = "5.01"
INTEGER004 = ToInteger(Date())
STRING020 = FileInf(PPEPath() + PPEName() + ".PPE", 2)
STRING007 = "Virtual Reality Soldier v" + STRING021
Cls
If (Exist(PPEPath() + "ARMOR.DBF")) Goto LABEL002
Copy PPEPath() + "ARMOR.VRS", PPEPath() + "ARMOR.DBF"
PrintLn "@X40┌─────────────────────────────────────────────────────────────────────────────@X4C┐@X0F"
PrintLn "@X40│@X4B New Armor Database Created!@POS:79@@X4C│@X0F"
PrintLn "@X40└@X4C─────────────────────────────────────────────────────────────────────────────@X4C┘@X0F"
Delay (1 * 182) / 10
Cls
:LABEL002
If (Exist(PPEPath() + "WEAPONS.DBF")) Goto LABEL003
Copy PPEPath() + "WEAPONS.VRS", PPEPath() + "WEAPONS.DBF"
PrintLn "@X40┌─────────────────────────────────────────────────────────────────────────────@X4C┐@X0F"
PrintLn "@X40│@X4B New Weapons Database Created!@POS:79@@X4C│@X0F"
PrintLn "@X40└@X4C─────────────────────────────────────────────────────────────────────────────@X4C┘@X0F"
Delay (1 * 182) / 10
Cls
:LABEL003
If (Exist(PPEPath() + "USER.DBF")) Goto LABEL004
Copy PPEPath() + "USER.VRS", PPEPath() + "USER.DBF"
PrintLn "@X40┌─────────────────────────────────────────────────────────────────────────────@X4C┐@X0F"
PrintLn "@X40│@X4B New User Database Created!@POS:79@@X4C│@X0F"
PrintLn "@X40└@X4C─────────────────────────────────────────────────────────────────────────────@X4C┘@X0F"
Delay (1 * 182) / 10
Cls
:LABEL004
If (Exist(PPEPath() + "MUTANT.DBF")) Goto LABEL005
Copy PPEPath() + "MUTANT.VRS", PPEPath() + "MUTANT.DBF"
PrintLn "@X40┌─────────────────────────────────────────────────────────────────────────────@X4C┐@X0F"
PrintLn "@X40│@X4B New Mutant Database Created!@POS:79@@X4C│@X0F"
PrintLn "@X40└@X4C─────────────────────────────────────────────────────────────────────────────@X4C┘@X0F"
Delay (1 * 182) / 10
Cls
:LABEL005
Cls
STRING028 = GetToken()
If ((Upper(STRING028) == "BLT") || (Upper(STRING028) == "/BLT")) Goto LABEL022
If ((Upper(STRING028) == "MAINT") || (Upper(STRING028) == "/MAINT")) Goto LABEL023
If ((Upper(STRING028) == "DEBUG") || (Upper(STRING028) == "/DEBUG")) Then
If (((CurSec() >= SysopSec()) || OnLocal()) || Upper((U_Name() == "bob watson"))) DbgLevel 3
Endif
If (Exist(PPEPath() + "VRS-M15.PPE")) Goto LABEL006
STRING004 = "Required File Missing"
Goto LABEL024
:LABEL006
Call PPEPath() + "VRS-M15.PPE"
If (!Exist(PPEPath() + "VRS.DBF")) Call PPEPath() + "VRS-M81.PPE"
DOpen 3, PPEPath() + "VRS.DBF", 0
DTop 3
DGet 3, "MAINT", INTEGER005
INTEGER005 = ToInteger(INTEGER005)
DGet 3, "EMB_DATE", INTEGER006
INTEGER006 = ToInteger(INTEGER006)
DGet 3, "DDELETE", INTEGER002
DPut 3, "ACCESSED", DGet(3, "ACCESSED") + 1
DGet 3, "ACCESSED", INTEGER007
DClose 3
INTEGER003 = INTEGER004 - INTEGER006
Cls
Newline
PrintLn "@X02Please Wait...@X0F"
If (INTEGER005 < ToInteger(Date())) Call PPEPath() + "VRS-M80.PPE"
DOpen 0, PPEPath() + "USER.DBF", 0
DnCreate 0, PPEPath() + STRING026 + ".NDX", "NAME"
DTag 0, STRING026
DSeek 0, U_Name()
STRING024 = DRecNo(0)
SetEnv STRING025 + "RECNO=" + String(STRING024)
STRING027 = GetEnv(STRING025 + "RECNO")
STRING027 = ToInteger(STRING027)
DGet 0, "VITALITY", STRING023
If (STRING023 == "C") DPut 0, "VITALITY", "Y"
DPut 0, "PLAYED", DGet(0, "PLAYED") + 1
DnCloseAll 0
Delete PPEPath() + STRING026 + ".NDX"
STRING003 = Upper(ReadLine(PCBDat(), 29))
FOpen 1, STRING003, 0, 0
FSeek 1, 0, 0
FRead 1, STRING002, 25
FClose 1
If (Exist(PPEPath() + "UNIVERSL.KEY")) Then
Gosub LABEL026
ElseIf (Exist(PPEPath() + "UNI.KEY")) Then
Gosub LABEL027
Else
If (Exist(PPEPath() + PPEName() + ".KEY")) Goto LABEL007
BOOLEAN001 = 0
Goto LABEL008
:LABEL007
FOpen 2, PPEPath() + PPEName() + ".KEY", 0, 0
FGet 2, STRING008
FGet 2, STRING009
FGet 2, STRING010
FClose 2
If (Strip(Left(Upper(ReadLine(PCBDat(), 94)), 8), " ") <> "SURVIVAL") Then
If (Strip(Left(Upper(STRING009), 3), " ") <> Strip(Left(Upper(ReadLine(PCBDat(), 94)), 3), " ")) Then
STRING004 = "BBS Name does *NOT* match keyfile"
Goto LABEL024
Endif
Endif
STRING011 = Mid(STRING008, 2, 1)
STRING012 = Mid(STRING009, 5, 1)
STRING011 = Abs(Asc(STRING011) + 44 - 100)
STRING012 = Abs(Asc(STRING012) + 44 - 100)
If ((ToInteger(Mid(STRING010, 1, 2)) == ToInteger(Left(STRING011, 2))) && (ToInteger(Mid(STRING010, 79, 2)) == ToInteger(Left(STRING012, 2)))) Then
PrintLn STRING005
BOOLEAN001 = 1
Endif
Endif
:LABEL008
StartDisp 1
Print "@CLS@@X07"
PrintLn ""
PrintLn " @X07┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┐"
PrintLn " ├┼┼@X0F┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┘@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70┌───────────────────────────────────────────────────────@X7F┐@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70│ @X71 @X7F│@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70│ ┌─────────────────────────────────────────────@X7F┐ │@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70│ │ @X7F│ │@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70│ │ @X71PRACTICAL COMPUTER SERVICES@X70 @X7F│ │@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70│ │ @X7F│ │@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70│ │ @X74 @X70 @X74 @X71PRESENTS@X70 @X7F│ │@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70│ │ @X7F │ │@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70│ └@X7F─────────────────────────────────────────────┘ │@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70└@X7F───────────────────────────────────────────────────────┘@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┘@X08┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼@X07┼┼┤"
PrintLn " └┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┘"
PrintLn ""
PrintLn " @X0D▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X0F"
PrintLn " @X8E", STRING007, "@POS:48@@X0B(c)1996 All Rights Reserved@X0F"
PrintLn " @X0D▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X0F"
If (BOOLEAN001) Then
PrintLn "@X0B REGISTERED TO: @X0A", STRING008, "@X0B at @X0A", STRING009, "@X0F"
Newline
Delay 60
Else
If (BOOLEAN001) Goto LABEL009
PrintLn " @X8CUNREGISTERED EVALUATION COPY@X08"
Newline
INTEGER008 = 1
Color 15
For INTEGER008 = 10 To 1 Step -1
Print " DELAYING ", INTEGER008, " SECOND(S)..."
Delay 19
Backup 80
Next
Goto LABEL009
Endif
:LABEL009
If ((Upper(STRING028) == "TEST") || (Upper(STRING028) == "/TEST")) Goto LABEL011
MdmFlush
:LABEL010
DCloseAll
DOpen 0, PPEPath() + "USER.DBF", 0
DTop 0
Cls
PrintLn "@X04▄ ▄@X0F @X0C░▒ ▒░ @X0F"
PrintLn "@X04 ▀▄▀@X0C irtual Reality Soldier @X0C ░▒ ▒░ @X0F"
PrintLn "@X04─────────────────────────── @X0C ░▒ ▒░ @X0F"
PrintLn " @X0C ░▒ ▒░ @X0F"
PrintLn "@X0ECopyright (c)1996 Practical Computer Services @X0C ░▒ @X0B RS@X0C ▒░ @X0F"
PrintLn "@X0EProgrammed by Bob Watson @X0C ░▒ ▒░ @X0F"
PrintLn "@X0ECompiled: @X0B", STRING020, " @X0E Version:@X0B ", STRING021, " @X0EAccesses:@X0B ", INTEGER007, "@POS:58@ @X0C ░▒ ▒░ @X0F"
If (INTEGER003 <= 1) Then
PrintLn "@X0ECurrent Game has been running:@X0B 1 @X0Eday@POS:61@@X0C ▒░▒░ @X0F "
Else
PrintLn "@X0ECurrent Game has been running:@X0B ", INTEGER003, " days@POS:61@@X0C ▒░▒░ @X0F "
Endif
PrintLn "@X0EPlayers are deleted after@X0B ", INTEGER002, "@X0E days of inactivity@POS:62@@X0C ░▒ @X0F"
If (BOOLEAN001) Then
PrintLn "@X0ERegistered to: @X0A", Trim(Left(STRING009, 35), " "), "@X0E SysOp:@X0A ", STRING008
Else
PrintLn "@X0ERegistered to: @X8CUNREGISTERED BBS@X0E SysOp: @X8CUNREGISTERED SYSOP!@X0F"
Endif
PrintLn "@X04══════════════════════════════════════════════════════════════════════════════@X0F"
PrintLn "@X0A(@X0DE@X0A)@X02nter Transporter"
PrintLn "@X0A(@X0DI@X0A)@X02nstructions"
PrintLn "@X0A(@X0DL@X0A)@X02ist Soldiers"
If ((CurSec() >= SysopSec()) || (Upper(U_Name()) == "bob watson")) PrintLn "@X0A(@X0DM@X0A)@X02aintenance Module"
PrintLn "@X0A(@X0DV@X0A)@X02RS Stats"
PrintLn "@X0A(@X0DQ@X02@X0A)@X02uit back to BBS"
Newline
STRING013 = ""
InputStr "Your Choice Soldier @X0A>@X0F _", STRING013, 10, 1, "EILMQV", 0 + 8
If (STRING013 == "") Goto LABEL010
Select Case (STRING013)
Case "E"
Goto LABEL012
Case "I"
Goto LABEL016
Case "L"
Gosub LABEL017
Goto LABEL010
Case "M"
If ((CurSec() < SysopSec()) && (Upper(U_Name()) <> "bob watson")) Goto LABEL010
DCloseAll
Call PPEPath() + "VRS-M99.PPE"
Goto LABEL010
Case "Q"
Goto LABEL025
Case "V"
End Select
:LABEL011
STRING031 = "NO"
STRING032 = "NO"
STRING033 = "NONE"
STRING034 = "N"
If (GrafMode() == "A") STRING033 = "No ANSI"
If (GrafMode() == "G") STRING033 = "Full ANSI"
If (GrafMode() == "R") STRING033 = "RIPscrip"
If (AnsiOn()) STRING031 = "YES"
If (OnLocal()) STRING034 = "YES"
Cls
StartDisp 1
PrintLn "@X70┌─────────────────────────────────────────────────────────────────────────────@X7F┐@X0F"
PrintLn "@X70│ @X71 ╖ ╓ ╥─╖ ╓─╖ @POS:79@@X7F│@X0F"
PrintLn "@X70│ @X74Version: @X79", STRING021, "@POS:18@@X78──────────┐@X71 ╙╖╓╜ ║\╜ ╙─╖ @X78┌─────────── @X74Compiled: @X79", STRING020, "@POS:79@@X7F│@X0F"
PrintLn "@X70│ @X78│@X71 ╙╜ ╙ ╙ ╙─╜ @X78│@X7F@POS:79@│@X0F"
PrintLn "@X70│ @X78└────────────────┘@POS:79@@X7F│@X0F"
PrintLn "@X70│ (c)1996 Practical Computer Services @POS:79@@X7F│@X0F"
PrintLn "@X70│ Programmed by: Bob Watson @POS:79@@X7F│@X0F"
PrintLn "@X70└@X7F─────────────────────────────────────────────────────────────────────────────┘@X0F"
Newline
PrintLn "@X20┌─────────────────────────────────────────────────────────────────────────────@X2A┐@X0F"
PrintLn "@X20│ Free stack space: @X2F", StackLeft(), "@POS:38@@X20Current Debug Level·······: @X2F", DbgLevel(), "@POS:79@@X2A│@X0F"
PrintLn "@X20│ PCBoard Version·: @X2F", Ver(), "@POS:38@@X20Max Concurrent Players····: @X2F", MaxNode(), " @POS:79@@X2A│@X0F"
PrintLn "@X20│ System Time·····: @X2F", Time(), "@POS:38@@X20System Date···············: @X2F", Date(), " @POS:79@@X2A│@X0F"
PrintLn "@X20│ Graphics Mode···: @X2F", STRING033, "@POS:38@@X20ANSI On?··················: @X2F", STRING031, "@POS:79@@X2A│@X0F"
PrintLn "@X20│ Space Available·: @X2F", DriveSpace(PPEPath()), "@POS:38@@X20Local Mode?···············: @X2F", STRING034, "@POS:79@@X2A│@X0F"
PrintLn "@X20│ User············: @X2F", U_Name(), "@POS:38@@X20Security Level············: @X2F", CurSec(), "@POS:79@@X2A│@X0F"
PrintLn "@X20│ Minutes On······: @X2F", MinOn(), "@POS:38@@X20Minutes Left··············: @X2F", MinLeft(), "@POS:79@@X2A│@X0F"
PrintLn "@X20└@X2A─────────────────────────────────────────────────────────────────────────────┘@X0F"
PrintLn "@X20┌─────────────────────────────────────────────────────────────────────────────@X2A┐@X0F"
PrintLn "@X20│ System SysOp : @X2E", Trim(STRING002, " "), "@POS:38@@X20Key SysOp : @X2E", STRING008, "@POS:79@@X2A│@X0F"
PrintLn "@X20└@X2A─────────────────────────────────────────────────────────────────────────────┘@X0F"
Call PPEPath() + "VRS-M19.PPE"
If ((Upper(STRING028) == "TEST") || (Upper(STRING028) == "/TEST")) Goto LABEL025
Goto LABEL010
:LABEL012
Cls
DCloseAll
DOpen 0, PPEPath() + "USER.DBF", 0
DnCreate 0, PPEPath() + String(PcbNode()) + "-NU.NDX", "NAME"
DTop 0
DSeek 0, U_Name()
If (DChkStat(0) == 0) Goto LABEL013
DCloseAll
Delete PPEPath() + String(PcbNode()) + "-NU.NDX"
Call PPEPath() + "VRS-M98.PPE"
STRING026 = String(Random(1000)) + "X" + STRING025
DOpen 0, PPEPath() + "USER.DBF", 0
DnCreate 0, PPEPath() + STRING026 + ".NDX", "NAME"
DTag 0, STRING026
DSeek 0, U_Name()
STRING024 = DRecNo(0)
SetEnv STRING025 + "RECNO=" + String(STRING024)
STRING027 = GetEnv(STRING025 + "RECNO")
STRING027 = ToInteger(STRING027)
DnCloseAll 0
Delete PPEPath() + STRING026 + ".NDX"
Gosub LABEL020
:LABEL013
Print "@X0ADownloading your current Record. Please wait."
DCloseAll
Delete PPEPath() + String(PcbNode()) + "-NU.NDX"
Call PPEPath() + "VRS-M1.PPE"
Gosub LABEL020
DPut 0, "ATT_DEF", " "
DPut 0, "MESSAGE", " "
DPut 0, "OPP_NODE", "0"
:LABEL014
DPut 0, "ONLINE", PcbNode()
Cls
DispFile PPEPath() + "DAILY.NWS", 2 + 1 + 4
PrintLn
InputStr " @X0CPress @X0E(@X04ENTER@X0E)@X0C to return or @X0E(@X04Y@X0E)@X0Cesterdays News Log @X0F_", STRING013, 11, 1, Mask_Ascii(), 0
If (Upper(STRING013) == "Y") Then
Cls
DispFile PPEPath() + "YESTER.NWS", 2 + 1 + 4
Newline
InputStr " @X0C Press @X0E(@X04ENTER@X0E)@X0C to return @X0F_", STRING013, 11, 1, Mask_Ascii(), 0
Endif
STRING022 = Mixed(DGet(0, "HANDLE"))
STRING015 = DGet(0, "VITALITY")
If ((STRING015 == "Y") || (STRING015 == "C")) Goto LABEL015
If (((STRING015 == "S") || (STRING015 == "B")) || (STRING015 == "I")) Then
DPut 0, "VITALITY", "Y"
DPut 0, "ONLINE", 0
Else
Newlines 2
PrintLn "@X0CYou have been killed, although this may be a disappointment for today, @X0F"
PrintLn "@X0Ctomorrow, you will be better for it. See you then!@X0F"
Delay (5 * 182) / 10
Goto LABEL025
Endif
:LABEL015
Gosub LABEL020
Gosub LABEL021
Cls
PrintLn "@X1F@POS:15@ @X1FLIFE:@X1A ", Trim(DGet(0, "HITPTS_L"), " "), " @X1FEXP:@X1A ", Trim(DGet(0, "EXP"), " "), " @X1FCASH:@X1A ", Trim(DGet(0, "CASH"), " "), " @X1FINFECTION:@X1A ", Trim(DGet(0, "INFECTED"), " "), "@X1F%@X1A", "@POS:79@@X0F"
If (DGet(0, "ATT_DEF") == "S") Then
PrintLn "@X1F Message: @X1C", Trim(DGet(0, "MESSAGE"), " "), "@X1F@POS:79@@X0F"
DCloseAll
Call PPEPath() + "VRS-M5.PPE"
Gosub LABEL020
Endif
Newlines 2
PrintLn "Virtual Reality Soldier - @X0ATop Level@X0F"
PrintLn STRING014
INTEGER001 = Random(4)
If (INTEGER001 == 0) PrintLn "@X0EThe shaftways are crowded with people rushing to get away...you push through.@X0F"
If (INTEGER001 == 1) PrintLn "@X0EFear is a smell that clings to your nostrils, people are afraid here!@X0F"
If (INTEGER001 == 2) PrintLn "@X0EThe turbo-shafts are strangely quiet right now, death hangs heavy in the air.@X0F"
If (INTEGER001 == 3) PrintLn "@X0EMutants have been seen in the east quarter, many deaths... @X0F"
If (INTEGER001 == 4) PrintLn "@X0EWatch your back, mutants are sneaky beasts...@X0F"
Newline
PrintLn "@X0A(@X0DT@X0A)@X02urbo-Shafts @X0A(@X0DM@X0A)@X02all "
PrintLn "@X0A(@X0DR@X0A)@X02obotic Medic @X0A(@X0DV@X0A)@X02iew your stats "
PrintLn "@X0A(@X0DO@X0A)@X02utpost @X0A(@X0DB@X0A)@X02asic Training "
PrintLn "@X0A(@X0DC@X0A)@X02entral Bank @X0A(@X0DL@X0A)@X02ist Soldiers "
If (Exist(PPEPath() + String(DGet(0, "FILE_NUM")) + ".MSG")) Then
Print "@X0A(@X0DI@X0A)@X8Ansta-Mail @X02 "
Else
Print "@X0A(@X0DI@X0A)@X02nsta-Mail "
Endif
PrintLn " @X0A(@X0DD@X0A)@X02aily News "
PrintLn "@X0A(@X0DP@X0A)@X02layer Battles@X0A (@X0DE@X0A)@X02xamine Rankings "
PrintLn "@X0A(@X0DQ@X0A)@X02uit to Surface "
Newline
InputStr "@X0A(@X02Hit an @X0A?@X02 for help@X0A) - @X0BYour Choice Soldier @X0A>@X0F _", STRING013, 10, 1, "TROVIPMBLDQCE?", 0 + 8
If (STRING013 == "") Goto LABEL015
Select Case (STRING013)
Case "T"
DCloseAll
Call PPEPath() + "VRS-M10.PPE"
Goto LABEL015
Case "M"
DCloseAll
Call PPEPath() + "VRS-M800.PPE"
Goto LABEL015
Case "R"
DCloseAll
Call PPEPath() + "VRS-M7.PPE"
Goto LABEL015
Case "C"
DCloseAll
Call PPEPath() + "VRS-M2.PPE"
Goto LABEL015
Case "I"
DCloseAll
Call PPEPath() + "VRS-M3.PPE"
Goto LABEL015
Case "O"
DCloseAll
Call PPEPath() + "VRS-M400.PPE"
Gosub LABEL020
If (DGet(0, "VITALITY") == "N") Then
DPut 0, "ONLINE", 0
Newline
PrintLn "@X0CYou have been killed on your way to greatness. Your name will not be lost, but@X0F"
PrintLn "@X0Cyour time today is at an end. Return tommorow, and see if the Robo-Medics were@X0F"
PrintLn "@X0Cable to do anything with the few strands of DNA that were left.@X0F"
PrintLn
Goto LABEL025
Endif
If (DGet(0, "VITALITY") == "C") Then
DPut 0, "ONLINE", 0
Cls
Newline
PrintLn "@X0BYour sleep is protected, but of course nothing is guaranteed in life@X0F"
PrintLn "@X0BWhen you return, you will be thawed and restored to your Pre-Cryo @X0F "
PrintLn "@X0Bstanding. Enjoy your sleep!@X0F"
Goto LABEL025
Endif
If (((DGet(0, "VITALITY") == "S") || (DGet(0, "VITALITY") == "I")) || (DGet(0, "VITALITY") == "B")) Then
DPut 0, "ONLINE", 0
Cls
Newline
PrintLn "@X0BYour sleep is protected, but of course nothing is guaranteed in life@X0F"
PrintLn "@X0BOn your return, you will find out exactly how useful your sleeping chamber@X0F"
PrintLn "@X0Bwas! Enjoy your sleep!@X0F"
Goto LABEL025
Endif
Goto LABEL015
Case "V"
DCloseAll
Call PPEPath() + "VRS-M1.PPE"
Goto LABEL015
Case "P"
DCloseAll
Call PPEPath() + "VRS-M12.PPE"
Goto LABEL015
Case "B"
DCloseAll
Call PPEPath() + "VRS-M11.PPE"
Goto LABEL015
Case "L"
Gosub LABEL017
Case "D"
Goto LABEL014
Case "?"
StartDisp 1
DispFile PPEPath() + "VRS-01.HLP", 2 + 1 + 4
Call PPEPath() + "VRS-M19.PPE"
Goto LABEL015
Case "Q"
Goto LABEL025
Case "E"
DCloseAll
Call PPEPath() + "VRS-M14.PPE"
Goto LABEL015
End Select
Goto LABEL015
:LABEL016
Cls
DispFile PPEPath() + "VRS.INS", 2 + 4 + 1
Call PPEPath() + "VRS-M19.PPE"
Goto LABEL010
:LABEL017
TSTRING019(1) = "Private"
TSTRING019(2) = "Corporal"
TSTRING019(3) = "Lance Corporal"
TSTRING019(4) = "Sergeant"
TSTRING019(5) = "Gunnery Sergeant"
TSTRING019(6) = "Lieutenant"
TSTRING019(7) = "Second Lieutenant"
TSTRING019(8) = "Captain"
TSTRING019(9) = "Major"
TSTRING019(10) = "Colonel"
TSTRING019(11) = "Lieutenant Colonel"
TSTRING019(12) = "General"
Cls
Newlines 2
PrintLn " @X0ERank @X0AName @X0B Life Status"
PrintLn " @X09───────────────────────────────────────────────────────"
DCloseAll
DOpen 0, PPEPath() + "USER.DBF", 0
DTop 0
If (DEof(0)) Return
:LABEL018
If (DEof(0)) Goto LABEL019
DSkip 0, 1
STRING016 = Trim(TSTRING019(DGet(0, "LEVEL")), " ")
STRING017 = Trim(DGet(0, "HANDLE"), " ")
STRING018 = Trim(DGet(0, "VITALITY"), " ")
STRING017 = Mixed(STRING017)
If ((((STRING018 == "Y") || (STRING018 == "S")) || (STRING018 == "B")) || (STRING018 == "I")) STRING018 = " @X0BALIVE@X0F"
If (STRING018 == "N") STRING018 = " @X0CDEAD@X0F"
If (STRING018 == "C") STRING018 = "@X03CRYO-CORPSE@X0F"
PrintLn "@POS:13@@X0E", STRING016, "@POS:32@@X0A", STRING017, "@POS:57@", STRING018
Goto LABEL018
:LABEL019
DCloseAll
Newline
Call PPEPath() + "VRS-M19.PPE"
Gosub LABEL020
Return
Cls
DispFile PPEPath() + "VRS-01.HLP", 2 + 4 + 1
DispFile PPEPath() + "VRS-02.HLP", 2 + 4 + 1
DispFile PPEPath() + "VRS-03.HLP", 2 + 4 + 1
Call PPEPath() + "VRS-M19.PPE"
Goto LABEL015
:LABEL020
DCloseAll
DOpen 0, PPEPath() + "USER.DBF", 0
DGo 0, STRING027
Return
:LABEL021
Gosub LABEL020
If (DGet(0, "HITPTS_L") == 0) Then
Newlines 1
PrintLn "@X0CYou have been killed on your way to greatness. Your name will not be lost, but@X0F"
PrintLn "@X0Cyour time today is at an end. Return tommorow, and see if the Robo-Medics were@X0F"
PrintLn "@X0Cable to do anything with the few strands of DNA that were left.@X0F"
PrintLn
DPut 0, "ONLINE", 0
Else
Return
:LABEL022
If ((CurSec() >= SysopSec()) || OnLocal()) Then
DCloseAll
FCloseAll
Call PPEPath() + "VRS-M16.PPE"
:LABEL023
ElseIf (((CurSec() >= SysopSec()) || OnLocal()) || Upper((U_Name() == "bob watson"))) Then
DCloseAll
FCloseAll
Call PPEPath() + "VRS-M80.PPE"
Else
:LABEL024
Cls
Newlines 2
PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│@X9C !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @X19│@X0F"
PrintLn "@X10│@X9C !!!!! !!!!! @X19│@X0F"
PrintLn "@X10│@X9C !!!!! @X1E One or more of the VRS modules has been tampered with. @X9C !!!!! @X19│@X0F"
PrintLn "@X10│@X9C !!!!! @X1E VRS will not continue, please obtain an original archive @X9C !!!!! @X19│@X0F"
PrintLn "@X10│@X9C !!!!! @X1E From the PCS Support BBS listed in the VRS documentation. @X9C !!!!! @X19│@X0F"
PrintLn "@X10│@X9C !!!!! @X9C !!!!! @X19│@X0F"
PrintLn "@X10│@X9C !!!!! @X1E Decompilation of copyrighted works is a U.S. Federal @X9C !!!!! @X19│@X0F"
PrintLn "@X10│@X9C !!!!! @X1E crime, and punishable by up to 10 years in prison and @X9C !!!!! @X19│@X0F"
PrintLn "@X10│@X9C !!!!! @X1E a $100,000 fine. @X9C !!!!! @X19│@X0F"
PrintLn "@X10│@X9C !!!!! @X9C !!!!! @X19│@X0F"
PrintLn "@X10│@X9C !!!!! @X1E Support shareware! This is how we put food on our tables @X9C !!!!! @X19│@X0F"
PrintLn "@X10│@X9C !!!!! @X1E and clothes on our childrens backs. Thank you! @X9C !!!!! @X19│@X0F"
PrintLn "@X10│@X9C !!!!! !!!!! @X19│@X0F"
PrintLn "@X10│@X9C !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @X19│@X0F"
PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────┘@X0F"
PrintLn STRING004
Delay (360 * 182) / 10
Goto LABEL025
Endif
Endif
:LABEL025
DCloseAll
FCloseAll
DbgLevel 0
End
:LABEL026
FOpen 1, PPEPath() + "UNIVERSL.KEY", 0, 0
FDefIn 1
For INTEGER012 = 1 To 3
FDGet TSTRING030(INTEGER012)
Next
FClose 1
STRING029 = TSTRING030(1) + TSTRING030(2)
STRING029 = Strip(STRING029, " ")
For INTEGER013 = 1 To Len(STRING029)
TINTEGER014(INTEGER013) = Asc(Mid(STRING029, INTEGER013, 1))
Next
INTEGER010 = 0
For INTEGER013 = 1 To 99
INTEGER010 = INTEGER010 + TINTEGER014(INTEGER013)
Next
INTEGER011 = INTEGER010 * 659
INTEGER009 = INTEGER011
BOOLEAN001 = 0
If (INTEGER011 <> TSTRING030(3)) Then
BOOLEAN001 = 0
Else
BOOLEAN001 = 1
STRING008 = TSTRING030(1)
STRING009 = TSTRING030(2)
Endif
Return
:LABEL027
FOpen 1, PPEPath() + "UNI.KEY", 0, 0
FDefIn 1
For INTEGER012 = 1 To 3
FDGet TSTRING030(INTEGER012)
Next
FClose 1
STRING029 = TSTRING030(1) + TSTRING030(2)
STRING029 = Strip(STRING029, " ")
For INTEGER013 = 1 To Len(STRING029)
TINTEGER014(INTEGER013) = Asc(Mid(STRING029, INTEGER013, 1))
Next
INTEGER010 = 0
For INTEGER013 = 1 To 99
INTEGER010 = INTEGER010 + TINTEGER014(INTEGER013)
Next
INTEGER011 = INTEGER010 * 659
INTEGER009 = INTEGER011
BOOLEAN001 = 0
If (INTEGER011 <> TSTRING030(3)) Then
BOOLEAN001 = 0
Else
BOOLEAN001 = 1
STRING008 = TSTRING030(1)
STRING009 = TSTRING030(2)
Endif
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 2 End
; 19 Cls
; 1 Color
; 136 Goto
; 103 Let
; 5 Print
; 127 PrintLn
; 87 If
; 7 DispFile
; 4 FOpen
; 4 FClose
; 3 FGet
; 3 StartDisp
; 4 Delete
; 4 InputStr
; 12 Gosub
; 6 Return
; 8 Delay
; 12 Newline
; 5 Newlines
; 24 Call
; 1 Backup
; 2 DbgLevel
; 1 FSeek
; 1 FRead
; 2 FDefIn
; 2 FDGet
; 4 Copy
; 1 MdmFlush
; 2 SetEnv
; 3 FCloseAll
; 1 EndFunc
; 7 DOpen
; 1 DClose
; 22 DCloseAll
; 3 DnCreate
; 2 DnCloseAll
; 4 DTop
; 1 DGo
; 1 DSkip
; 2 DTag
; 3 DSeek
; 5 DGet
; 13 DPut
;
;
; ■ Functions used :
;
; 3 -
; 8 *
; 6 /
; 120 +
; 3 -
; 69 ==
; 5 <>
; 9 <
; 8 <=
; 18 >=
; 57 !
; 16 &&
; 26 ||
; 4 Len(
; 19 Upper()
; 6 Mid()
; 6 Left()
; 4 Asc()
; 10 Trim()
; 3 Random()
; 3 Date()
; 1 Time()
; 8 U_Name()
; 1 Ver()
; 5 Strip()
; 9 String()
; 2 Mask_Ascii()
; 3 PCBDat()
; 68 PPEPath()
; 6 PcbNode()
; 3 ReadLine()
; 5 SysopSec()
; 4 OnLocal()
; 6 CurSec()
; 1 GetToken()
; 1 MinLeft()
; 1 MinOn()
; 2 GetEnv()
; 10 Exist()
; 1 AnsiOn()
; 2 Abs()
; 3 GrafMode()
; 1 FileInf()
; 3 PPEName()
; 1 MaxNode()
; 1 DbgLevel()
; 10 ToInteger()
; 2 Mixed()
; 1 DriveSpace()
; 1 StackLeft()
; 2 DEof()
; 2 DRecNo()
; 20 DGet()
; 1 DChkStat()
;
;------------------------------------------------------------------------------
;
; Analysis flags : Cds
;
; C - Call child PPE ■ 3
; This is usually normal, but may be a tricky way to launch some
; sysop-only commands.
; ■ Search for : CALL
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
; s - Sysop level access ■ 5
; Program is reading the sysop access level, this may be normal
; but still it is very suspect. It is the best way to give a user
; all priviledges. Check!
; ■ Search for : SYSOPSEC()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 7 For/Next
; 0 While/EndWhile
; 21 If/Then or If/Then/Else
; 2 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------